#pragma once

#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>

void printArr(int* arr, int sz);
void Swap(int* p1, int* p2);

void InsertSort(int* arr, int sz);//1.直接插入排序
void ShellSort(int* arr, int sz);//2.希尔排序

void SelectSort(int* arr, int sz);//3.选择排序
void HeapSort(int* arr, int sz);//4.堆排序

void BubbleSort(int* arr, int sz);//5.冒泡排序
void QuickSort(int* arr, int left, int right);//6.快速排序递归版
void QuickSortNonR(int* arr, int left, int right);//6.快速排序非递归版

void MergeSort(int* arr, int sz);//7.归并排序递归版
void MergeSortNonR(int* arr, int sz);;//7.归并排序非递归版

void CountSort(int* arr, int sz);//8.计数排序